Personal computers, workstations, and servers are general-purpose devices that can be programmed to automatically carry out arithmetic or logical operations. These devices include at least one processor, such as a central processing unit (CPU), and some form of memory system. The processor executes instructions and manipulates data stored in the memory.
Memory systems commonly include a memory controller that communicates with some number of memory modules via multi-wire physical connections called “channels.” Each memory module commonly includes dynamic random access memory (DRAM) components mounted on a printed circuit board. Successive generations of DRAM components have benefitted from steadily shrinking lithographic feature sizes. Storage capacity and signaling rates have improved as a result.
One metric of memory-system design that has not shown comparable improvement is the number of modules one can connect to a single channel. Adding a module to a channel increases the “load” on that channel, and thus degrades signaling integrity and limits signaling rates. The number of modules per memory channel has thus eroded with increased signaling rates.